package com.magenta.maxoptra.gis;

import java.util.Map;

/**
 * Базовый итерфейс для всех гео-провайдеров
 *
 * @author Zaur Muhametgaleev
 * @version 12/8/11 9:45 AM
 * @see "jira task MRS-4127: Add support of YourNavigation.Org routing provider"
 * @since Maxoptra 3 (GT)
 */
public interface IGeoProvider {
    /**
     * Возвращает название адаптера к гео-провайдеру
     *
     * @return provider name
     */
    String getProviderName();


    /**
     * Возвращает версию адаптера к гео-провайдеру
     *
     * @return version
     */
    String getVersion();


    /**
     * Возвращает название класса адаптера
     *
     * @return class name
     */
    String getClassName();

    /**
     * Возвращает карту соответсвия кодов ошибок провайдера на общий классификатор
     * @return карта кодов
     */
    Map<String, GeoStatusCode> getProviderErrorMap();


    Boolean getGisBooleanProperty(GisParameter paramater);

    String getGisStringProperty(GisParameter parameter);

    Integer getGisIntegerProperty(GisParameter parameter);

    Float getGisFloatProperty(GisParameter parameter);

}